import os
import pandas as pd

# 功能：遍历目录下的所有xls文件，合并到指定的一个文件

def main(base,reusltBase):

    desktop=os.path.join(os.path.expanduser("~"), 'Desktop')
    #文件存放的指定目录
    if(reusltBase == ''):
        reusltBase = desktop


    #存放所有xls表的数据
    allLineData = pd.DataFrame()

    for excelFile in findAllFile(base):
        # 读取工作簿和工作簿中的工作表
        oneFileData =pd.read_excel(excelFile,dtype=str)
        # append忽略行头（忽略第一行）
        allLineData=allLineData.append(oneFileData, ignore_index=True)
    # print(allLineData)
    #写到桌面
    writer=pd.ExcelWriter(os.path.join(desktop,'合并后的文件.xls'))
    # 使用to_excel将之前读取的工作簿中工作表的数据写入到新建的工作簿的工作表中
    allLineData.to_excel(writer, index=False)
    # 保存并且关闭工作簿
    writer.save()

#查找base目录下的所有xls文件
def findAllFile(base):
    for root, ds, fs in os.walk(base):
        for f in fs:
            if f.endswith('.xls') or f.endswith('.xlsx'):
                fullname = os.path.join(root, f)
                yield fullname

if __name__ == '__main__':
    #遍历的目录
    base='D:\\1工作区\\1任务\\2021\\11月\\NJBOMC_REQ_2439全域客服投诉工单字段更新\数据字典'
    #合成后的文件存放目录
    resultpath = "数据测试集"
    main(base,resultpath)